from PublicReference.carry.base import *


class 职业主动技能(主动技能):

    data0 = []
    data1 = []
    data2 = []

    def 等效百分比(self, 武器类型):
        等效倍率 = 0.0
        if len(self.data0) >= self.等级 and len(self.data0) > 0:
            等效倍率 += self.data0[self.等级] * self.攻击次数
        if len(self.data1) >= self.等级 and len(self.data1) > 0:
            等效倍率 += self.data1[self.等级] * self.攻击次数2
        if len(self.data2) >= self.等级 and len(self.data2) > 0:
            等效倍率 += self.data2[self.等级] * self.攻击次数3
        return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率


class 技能0(被动技能):
    名称 = '基础精通'
    倍率 = 1.0
    所在等级 = 1
    等级上限 = 200
    基础等级 = 100
    关联技能 = ['猎杀枪']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(self.倍率 * (0.463 + 0.089 * self.等级), 5)


class 技能1(被动技能):
    名称 = '光枪精通'
    所在等级 = 15
    等级上限 = 20
    基础等级 = 10

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.05 + 0.02 * self.等级, 5)

    def 魔法攻击力倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.05 + 0.02 * self.等级, 5)


class 技能2(被动技能):
    名称 = '狩猎本能'
    所在等级 = 20
    等级上限 = 20
    基础等级 = 10

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.10 + 0.02 * self.等级, 5)


class 技能3(被动技能):
    名称 = '枪魂感知'
    所在等级 = 48
    等级上限 = 40
    基础等级 = 20

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.025 + 0.02 * self.等级, 5)


class 技能4(被动技能):
    名称 = '狩猎之心'
    所在等级 = 75
    等级上限 = 40
    基础等级 = 11

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.22 + 0.02 * self.等级, 5)


class 技能5(职业主动技能):
    名称 = '猎杀枪'
    所在等级 = 15
    等级上限 = 5
    基础等级 = 1
    data0 = [(i*1.0) for i in [0, 310, 343, 374, 405, 436, 468, 500, 531, 563, 594, 627, 657, 690, 721, 753, 784, 816, 847, 879, 910, 942, 973, 1005, 1036, 1068, 1099, 1130, 1164, 1195, 1226, 1257, 1290, 1321, 1352, 1383, 1416, 1447, 1478, 1509, 1542, 1573, 1604, 1635, 1668, 1700, 1731, 1762, 1794, 1826, 1857, 1889, 1920, 1952, 1983, 2015, 2046, 2078, 2109, 2142, 2173, 2205, 2236, 2268, 2299, 2330, 2362, 2394, 2425, 2456, 2489]]
    攻击次数 = 1
    # 基础 = 222.0
    # 成长 = 26.0
    # 固定CD0.85 具体待确认
    CD = 0.85
    TP成长 = 0.10
    TP上限 = 3
    基础释放次数 = 5

    def 等效CD(self, 武器类型, 输出类型):
        return 0.85


class 技能6(职业主动技能):
    名称 = '隐鼠袭杀'
    所在等级 = 15
    等级上限 = 60
    基础等级 = 46
    data0 = [(i*1.0) for i in [0, 2786, 3067, 3350, 3632, 3915, 4199, 4481, 4764, 5046, 5329, 5612, 5894, 6177, 6460, 6743, 7025, 7307, 7590, 7873, 8155, 8438, 8720, 9003, 9286, 9569, 9852, 10133, 10416, 10699, 10981, 11264, 11546, 11829, 12113, 12395, 12678, 12961, 13243, 13526, 13807, 14090, 14373, 14655, 14939, 15221, 15504, 15787, 16069, 16352, 16634, 16917, 17200, 17481, 17766, 18047, 18330, 18613, 18895, 19178, 19461, 19743, 20026, 20308, 20592, 20875, 21156, 21439, 21721, 22004, 22287]]
    攻击次数 = 1
    # 基础 = 1856.40
    # 成长 = 209.60
    CD = 5.0
    TP成长 = 0.10
    TP上限 = 5


class 技能7(职业主动技能):
    名称 = '光焰飞枪'
    所在等级 = 20
    等级上限 = 60
    基础等级 = 43
    data0 = [(i*1.0) for i in [0, 694, 763, 833, 905, 975, 1045, 1115, 1186, 1256, 1326, 1397, 1467, 1538, 1607, 1679, 1749, 1820, 1889, 1959, 2031, 2101, 2171, 2241, 2311, 2383, 2453, 2523, 2593, 2664, 2733, 2804, 2875, 2945, 3016, 3085, 3157, 3227, 3298, 3367, 3437, 3509, 3579, 3649, 3719, 3789, 3861, 3930, 4001, 4071, 4142, 4211, 4283, 4353, 4423, 4493, 4563, 4635, 4705, 4776, 4845]]
    攻击次数 = 5
    # 基础 = 2309.05
    # 成长 = 260.95
    CD = 6.0
    TP成长 = 0.10
    TP上限 = 5


class 技能8(职业主动技能):
    名称 = '蛮横冲撞'
    所在等级 = 25
    等级上限 = 60
    基础等级 = 41
    data0 = [(i*1.0) for i in [0, 1425, 1570, 1715, 1860, 2005, 2149, 2293, 2438, 2583, 2727, 2872, 3017, 3162, 3307, 3451, 3595, 3740, 3885, 4029, 4175, 4319, 4464, 4609, 4753, 4897, 5042, 5187, 5331, 5477, 5621, 5766, 5910, 6055, 6199, 6343, 6489, 6633, 6778, 6923, 7068, 7212, 7357, 7501, 7645, 7791, 7936, 8080, 8225, 8370, 8514, 8659, 8803, 8947, 9093, 9238, 9382, 9527, 9672, 9816, 9961, 10105, 10249, 10396, 10540, 10684, 10829, 10974, 11118, 11263, 11407]]
    攻击次数 = 1
    # 下刺攻击力：<data1>%
    data1 = [(i*1.0) for i in [0, 1735, 1911, 2087, 2263, 2438, 2615, 2791, 2967, 3144, 3319, 3496, 3671, 3847, 4023, 4200, 4376, 4551, 4728, 4903, 5080, 5255, 5432, 5608, 5785, 5960, 6135, 6312, 6487, 6664, 6840, 7017, 7193, 7369, 7544, 7720, 7896, 8072, 8249, 8425, 8602, 8776, 8953, 9129, 9304, 9481, 9657, 9834, 10008, 10185, 10361, 10538, 10713, 10889, 11066, 11242, 11417, 11593, 11770, 11946, 12122, 12298, 12474, 12649, 12825, 13002, 13178, 13355, 13530, 13707, 13883]]
    攻击次数2 = 1
    # 生成的魔法枪攻击力：<data2>%
    data2 = [(i*1.0) for i in [0, 578, 636, 695, 753, 812, 872, 929, 989, 1047, 1106, 1165, 1223, 1282, 1341, 1399, 1459, 1517, 1576, 1634, 1693, 1751, 1811, 1869, 1928, 1987, 2044, 2104, 2161, 2221, 2280, 2338, 2397, 2456, 2514, 2574, 2631, 2691, 2749, 2808, 2866, 2925, 2984, 3043, 3101, 3160, 3219, 3278, 3336, 3395, 3453, 3513, 3570, 3629, 3689, 3746, 3806, 3863, 3923, 3981, 4040, 4099, 4158, 4216, 4275, 4333, 4393, 4451, 4510, 4568, 4628]]
    攻击次数3 = 3
    # 基础 = 3719.00
    # 成长 = 420.00
    CD = 8.0
    TP成长 = 0.10
    TP上限 = 5


class 技能9(职业主动技能):
    名称 = '猎杀枪掠食'
    所在等级 = 25
    等级上限 = 60
    基础等级 = 41
    # 地面发射攻击力：<data0>%
    data0 = [(i*1.0) for i in [0, 4698, 5175, 5653, 6129, 6606, 7083, 7560, 8037, 8512, 8989, 9466, 9943, 10419, 10896, 11373, 11850, 12326, 12802, 13279, 13757, 14234, 14711, 15187, 15664, 16141, 16618, 17093, 17570, 18047, 18524, 19001, 19477, 19954, 20430, 20907, 21386, 21860, 22338, 22815, 23292, 23769, 24245, 24722, 25198, 25675, 26151, 26628, 27105, 27582, 28059, 28534, 29011, 29490, 29966, 30443, 30919, 31396, 31873, 32350, 32827, 33302, 33779, 34256, 34733, 35209, 35686, 36163, 36640, 37118, 37592]]
    # "1": "[0, 4867, 5361, 5854, 6347, 6842, 7336, 7829, 8324, 8817, 9310, 9804, 10298, 10793, 11286, 11780, 12273, 12767, 13260, 13756, 14249, 14742, 15237, 15730, 16223, 16717, 17212, 17705, 18199, 18693, 19186, 19680, 20175, 20668, 21162, 21655, 22148, 22643, 23136, 23632, 24125, 24618, 25112, 25605, 26099, 26594, 27087, 27581, 28075, 28568, 29061, 29556, 30050, 30543, 31038, 31531, 32024, 32518, 33013, 33507, 34000, 34494, 34988, 35481, 35974, 36470, 36963, 37456, 37951, 38444, 38937]"

    # 空中发射攻击力：<data1>%
    # data1 = [0, 3554, 3914, 4275, 4636, 4996, 5357, 5717, 6078, 6439, 6799, 7160, 7520, 7881, 8242, 8602, 8963, 9323, 9684, 10045, 10405, 10766, 11126, 11487, 11847, 12208, 12569, 12929, 13290, 13650, 14011, 14372, 14732, 15093, 15453, 15814, 16175, 16535, 16896, 17256, 17617, 17978, 18338, 18699, 19059, 19420, 19780, 20141, 20502, 20862, 21223, 21583, 21944, 22305, 22665, 23026, 23386, 23747, 24108, 24468, 24829, 25189, 25550, 25910, 26271, 26632, 26992, 27353, 27713, 28074, 28435]
    # 基础 = 3266.26
    # 成长 = 368.74
    CD = 9.0
    TP成长 = 0.10
    TP上限 = 5


class 技能10(职业主动技能):
    名称 = '光焰枪'
    所在等级 = 30
    等级上限 = 60
    基础等级 = 38
    data0 = [(i*1.0) for i in [0, 7077, 7794, 8513, 9231, 9948, 10667, 11385, 12104, 12821, 13539, 14258, 14975, 15694, 16412, 17129, 17848, 18566, 19283, 20001, 20718, 21437, 22155, 22872, 23591, 24309, 25026, 25745, 26463, 27181, 27899, 28617, 29335, 30053, 30772, 31489, 32207, 32926, 33643, 34361, 35080, 35797, 36516, 37234, 37951, 38670, 39388, 40105, 40824, 41542, 42260, 42977, 43694, 44413, 45131, 45848, 46567, 47285, 48004, 48721, 49439, 50158, 50875, 51594, 52312, 53029, 53748, 54466, 55183, 55902, 56619]]
    # 基础 = 4720.03
    # 成长 = 532.97
    CD = 12.0
    TP成长 = 0.10
    TP上限 = 5


class 技能11(职业主动技能):
    名称 = '猎杀枪穿心'
    所在等级 = 30
    等级上限 = 60
    基础等级 = 38
    # 旋转时攻击力：<data0>%
    data0 = [(i*1.0) for i in [0, 552, 608, 664, 720, 775, 831, 887, 943, 999, 1055, 1112, 1168, 1223, 1279, 1335, 1391, 1447, 1503, 1559, 1615, 1670, 1726, 1782, 1839, 1895, 1951, 2007, 2063, 2118, 2174, 2230, 2286, 2342, 2399, 2455, 2511, 2566, 2622, 2678, 2734, 2790, 2846, 2902, 2958, 3013, 3070, 3126, 3182, 3238, 3294, 3350, 3406, 3461, 3517, 3573, 3629, 3686, 3742, 3798, 3854, 3909, 3965, 4021, 4077, 4133, 4189, 4246, 4302, 4357, 4413]]
    攻击次数 = 6
    # 返回时攻击力：<data1>%
    data1 = [(i*1.0) for i in [0, 2206, 2430, 2654, 2877, 3102, 3325, 3549, 3773, 3997, 4220, 4445, 4668, 4893, 5116, 5340, 5564, 5788, 6012, 6237, 6460, 6685, 6908, 7132, 7356, 7580, 7803, 8028, 8251, 8475, 8699, 8923, 9146, 9371, 9594, 9819, 10042, 10266, 10490, 10714, 10937, 11162, 11385, 11609, 11833, 12057, 12280, 12505, 12728, 12953, 13176, 13400, 13624, 13848, 14071, 14296, 14519, 14743, 14967, 15191, 15414, 15639, 15862, 16087, 16310, 16534, 16758, 16982, 17205, 17430, 17653]]
    攻击次数2 = 1
    # 基础 = 3629.97
    # 成长 = 410.03
    CD = 10.0
    TP成长 = 0.10
    TP上限 = 5


class 技能12(职业主动技能):
    名称 = '光焰囚杀'
    所在等级 = 35
    等级上限 = 60
    基础等级 = 36
    # 基础 = 7051.80
    # 成长 = 796.20
    # 屏障多段攻击力：<data0>%
    data0 = [(i*1.0) for i in [0, 5231, 5762, 6292, 6823, 7354, 7884, 8414, 8945, 9476, 10006, 10538, 11068, 11600, 12130, 12660, 13191, 13721, 14253, 14783, 15313, 15846, 16376, 16906, 17437, 17967, 18499, 19029, 19559, 20090, 20620, 21153, 21683, 22213, 22745, 23275, 23805, 24336, 24866, 25396, 25928, 26459, 26990, 27521, 28051, 28582, 29112, 29642, 30174, 30704, 31235, 31766, 32297, 32828, 33358, 33889, 34419, 34950, 35481, 36011, 36541, 37073, 37604, 38135, 38665, 39195, 39727, 40257, 40787, 41318, 41849]]
    攻击次数 = 1
    # 屏障爆炸攻击力：<data1>%
    data1 = [(i*1.0) for i in [0, 5231, 5762, 6292, 6823, 7354, 7884, 8414, 8945, 9476, 10006, 10538, 11068, 11600, 12130, 12660, 13191, 13721, 14253, 14783, 15313, 15846, 16376, 16906, 17437, 17967, 18499, 19029, 19559, 20090, 20620, 21153, 21683, 22213, 22745, 23275, 23805, 24336, 24866, 25396, 25928, 26459, 26990, 27521, 28051, 28582, 29112, 29642, 30174, 30704, 31235, 31766, 32297, 32828, 33358, 33889, 34419, 34950, 35481, 36011, 36541, 37073, 37604, 38135, 38665, 39195, 39727, 40257, 40787, 41318, 41849]]
    攻击次数2 = 1
    CD = 20.0
    TP成长 = 0.10
    TP上限 = 5


class 技能13(职业主动技能):
    名称 = '利刃收割'
    所在等级 = 35
    等级上限 = 60
    基础等级 = 36
    # 挥击攻击力：<data0>%
    data0 = [(i*1.0) for i in [0, 1198, 1318, 1440, 1561, 1684, 1805, 1926, 2048, 2169, 2291, 2412, 2534, 2654, 2777, 2899, 3020, 3141, 3262, 3385, 3506, 3627, 3749, 3871, 3993, 4113, 4235, 4356, 4479, 4599, 4721, 4843, 4963, 5086, 5207, 5329, 5449, 5572, 5693, 5815, 5937, 6057, 6180, 6301, 6423, 6543, 6666, 6787, 6908, 7030, 7151, 7274, 7394, 7516, 7637, 7759, 7882, 8002, 8124, 8245, 8368, 8488, 8610, 8731, 8852, 8975, 9096, 9218, 9338, 9460, 9582]]
    攻击次数 = 4
    # 击退攻击力：<data1>%
    data1 = [(i*1.0) for i in [0, 4792, 5276, 5762, 6248, 6735, 7221, 7707, 8193, 8679, 9165, 9651, 10137, 10623, 11110, 11596, 12082, 12567, 13053, 13540, 14026, 14512, 14998, 15485, 15970, 16456, 16942, 17428, 17915, 18401, 18887, 19373, 19859, 20345, 20831, 21316, 21804, 22290, 22776, 23260, 23746, 24233, 24719, 25205, 25691, 26178, 26664, 27149, 27635, 28121, 28608, 29094, 29580, 30066, 30552, 31038, 31524, 32010, 32497, 32983, 33469, 33954, 34440, 34927, 35413, 35899, 36385, 36872, 37358, 37843, 38329]]
    攻击次数2 = 1
    # 上升攻击力：<data2>%
    # data2 = [0, 3560, 3922, 4283, 4644, 5005, 5366, 5728, 6089, 6450, 6811, 7173, 7534, 7895, 8256, 8618, 8979, 9340, 9701, 10063, 10424, 10785, 11146, 11508, 11869, 12230, 12591, 12952, 13314, 13675, 14036, 14397, 14759, 15120, 15481, 15842, 16204, 16565, 16926, 17287, 17649, 18010, 18371, 18732, 19094, 19455, 19816, 20177, 20538, 20900, 21261, 21622, 21983, 22345, 22706, 23067, 23428, 23790, 24151, 24512, 24873, 25235, 25596, 25957, 26318, 26680, 27041, 27402, 27763, 28124, 28486]
    # 基础 = 6394.43
    # 成长 = 721.57
    CD = 15.0
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            # self.倍率 *= 1.1
            self.data1 = [(0.05*1.2*i) for i in self.data1]
            self.攻击次数2 = 20
            self.CD *= 0.9
        elif x == 1:
            # self.倍率 *= 1.19
            self.data0 = [(1.18*i) for i in self.data0]
            self.data1 = [(0.05*1.2*i) for i in self.data1]
            self.攻击次数2 = 20
            self.CD *= 0.9


class 技能14(职业主动技能):
    名称 = '鹰坠'
    所在等级 = 40
    等级上限 = 60
    基础等级 = 33
    # 基础 = 10325.19
    # 成长 = 1165.81
    data0 = [(i*1.0) for i in [0, 12905, 14214, 15522, 16831, 18141, 19450, 20759, 22068, 23377, 24687, 25995, 27305, 28613, 29924, 31234, 32542, 33851, 35159, 36470, 37779, 39087, 40397, 41706, 43015, 44325, 45633, 46944, 48252, 49562, 50871, 52179, 53490, 54799, 56107, 57416, 58726, 60035, 61344, 62653, 63963, 65272, 66582, 67891, 69199, 70509, 71818, 73127, 74436, 75745, 77055, 78363, 79672, 80983, 82292, 83601, 84910, 86219, 87528, 88837, 90147, 91456, 92764, 94075, 95383, 96692, 98003, 99311, 100621, 101929, 103239]]
    CD = 25.0
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.1
            self.CD *= 0.9
        elif x == 1:
            self.倍率 *= 1.19
            self.CD *= 0.9


class 技能15(职业主动技能):
    名称 = '龙鳞碎割'
    所在等级 = 45
    等级上限 = 60
    基础等级 = 31
    # 基础 = 16415.52
    # 成长 = 1855.48
    # 魔法枪攻击力：<data0>%
    data0 = [(i*1.0) for i in [0, 481, 530, 579, 627, 677, 725, 775, 823, 872, 921, 970, 1018, 1067, 1116, 1165, 1214, 1263, 1312, 1361, 1409, 1459, 1507, 1557, 1605, 1655, 1703, 1752, 1801, 1848, 1898, 1946, 1996, 2044, 2094, 2142, 2192, 2240, 2290, 2338, 2387, 2436, 2485, 2534, 2583, 2632, 2679, 2729, 2777, 2827, 2875, 2924, 2973, 3022, 3071, 3120, 3169, 3218, 3267, 3316, 3365, 3414, 3461, 3512, 3559, 3609, 3657, 3707, 3755, 3805, 3853]]
    攻击次数 = 20
    # 终结攻击力：<data1>%
    data1 = [(i*1.0) for i in [0, 14451, 15917, 17382, 18850, 20315, 21781, 23247, 24713, 26180, 27645, 29112, 30577, 32043, 33511, 34976, 36442, 37907, 39375, 40840, 42306, 43773, 45238, 46705, 48170, 49637, 51103, 52568, 54036, 55501, 56967, 58432, 59899, 61366, 62831, 64298, 65763, 67229, 68694, 70162, 71628, 73093, 74561, 76026, 77492, 78959, 80424, 81890, 83356, 84823, 86288, 87754, 89222, 90687, 92153, 93618, 95085, 96550, 98017, 99484, 100949, 102415, 103880, 105348, 106814, 108279, 109747, 111212, 112678, 114143, 115610]]
    攻击次数2 = 1
    CD = 45.0
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            # self.倍率 *= 1.23
            self.攻击次数 += 25
            self.data0 = [(i*0.7) for i in self.data0]
            self.CD *= 0.9
        elif x == 1:
            # self.倍率 *= 1.23 + 0.08
            self.攻击次数 += 25
            self.data0 = [(i*0.7) for i in self.data0]
            self.data1 = [(i*1.13) for i in self.data1]
            self.CD *= 0.9


class 技能16(职业主动技能):
    名称 = '逐云灭龙杀'
    所在等级 = 50
    等级上限 = 40
    基础等级 = 12
    # 基础 = 37586.91
    # 成长 = 11389.97
    # 直接攻击力：<data0>%
    data0 = [(i*1.0) for i in [0, 3304, 4070, 4837, 5603, 6370, 7137, 7903, 8670, 9436, 10203, 10969, 11736, 12502, 13269, 14035, 14802, 15569, 16335, 17100, 17867, 18634, 19400, 20167, 20933, 21700, 22466, 23233, 23999, 24766, 25532, 26299, 27066, 27832, 28599, 29365, 30132, 30898, 31662, 32429, 33196, 33962, 34729, 35495, 36262, 37028, 37795, 38561, 39328, 40095, 40861, 41628, 42394, 43161, 43926, 44693, 45459, 46226, 46992, 47759, 48525, 49292, 50058, 50825, 51592, 52358, 53125, 53891, 54658, 55424, 56191]]
    攻击次数 = 1
    # 猎杀枪多段攻击力：<data1>%
    data1 = [(i*1.0) for i in [0, 2313, 2849, 3386, 3922, 4458, 4996, 5533, 6069, 6605, 7143, 7679, 8215, 8752, 9288, 9824, 10360, 10898, 11434, 11970, 12507, 13043, 13579, 14115, 14654, 15190, 15726, 16263, 16800, 17336, 17872, 18409, 18945, 19481, 20019, 20555, 21091, 21627, 22164, 22700, 23236, 23775, 24311, 24847, 25383, 25921, 26457, 26993, 27530, 28066, 28602, 29138, 29676, 30212, 30748, 31285, 31821, 32357, 32895, 33432, 33968, 34504, 35042, 35578, 36114, 36650, 37187, 37723, 38259, 38797, 39333]]
    攻击次数2 = 10
    # 降落冲撞爆炸攻击力：<data2>%
    data2 = [(i*1.0) for i in [0, 39663, 48861, 58058, 67256, 76453, 85650, 94849, 104046, 113243, 122441, 131639, 140836, 150033, 159231, 168428, 177627, 186823, 196020, 205219, 214416, 223612, 232810, 242008, 251206, 260402, 269600, 278798, 287995, 297193, 306390, 315587, 324786, 333982, 343179, 352378, 361575, 370773, 379970, 389168, 398365, 407564, 416760, 425957, 435154, 444353, 453549, 462747, 471945, 481143, 490339, 499537, 508735, 517932, 527130, 536327, 545524, 554723, 563919, 573116, 582315, 591512, 600709, 609906, 619105, 628302, 637500, 646697, 655894, 665091, 674290]]
    攻击次数3 = 1

    CD = 145.0


class 技能17(职业主动技能):
    名称 = '天龙破'
    所在等级 = 60
    等级上限 = 40
    基础等级 = 23
    # 基础 = 13676.65
    # 成长 = 1544.35
    # 魔法枪乱舞攻击力：<data0>%
    data0 = [(i*1.0) for i in [0, 3077, 3389, 3700, 4013, 4326, 4637, 4949, 5262, 5574, 5886, 6199, 6510, 6823, 7135, 7447, 7759, 8071, 8383, 8696, 9009, 9319, 9632, 9945, 10256, 10569, 10881, 11193, 11505, 11818, 12130, 12441, 12754, 13067, 13379, 13692, 14003, 14315, 14628, 14941, 15251, 15564, 15877, 16188, 16501, 16814, 17124, 17437, 17750, 18062, 18373, 18686, 18998, 19311, 19623, 19934, 20247, 20559, 20871, 21184, 21496, 21807, 22120, 22433, 22745, 23056, 23369, 23681, 23993, 24306, 24617]]
    攻击次数 = 4
    # 地面爆炸攻击力：<data1>%
    data1 = [(i*1.0) for i in [0, 8205, 9039, 9871, 10702, 11535, 12367, 13201, 14033, 14865, 15698, 16531, 17363, 18194, 19028, 19860, 20693, 21525, 22358, 23190, 24023, 24855, 25689, 26520, 27352, 28186, 29018, 29850, 30682, 31516, 32348, 33181, 34012, 34845, 35678, 36510, 37344, 38175, 39008, 39840, 40674, 41505, 42337, 43170, 44002, 44836, 45667, 46500, 47333, 48166, 48997, 49829, 50663, 51495, 52328, 53159, 53993, 54825, 55658, 56491, 57322, 58155, 58987, 59821, 60652, 61485, 62317, 63151, 63983, 64814, 65647]]
    攻击次数2 = 1
    CD = 25.0
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            # 地面形态
            self.攻击次数 = 2
            self.data0 = [(i*2.52) for i in self.data0]
            self.data1 = [(i*1.26) for i in self.data1]
            # 空中形态
            # self.攻击次数 = 0
            # self.data1 = [(i*2.25*1.26) for i in self.data1]
            # self.倍率 *= 1.26
        elif x == 1:
            # self.倍率 *= 1.348
            # 地面形态
            self.攻击次数 = 2
            self.data0 = [(i*2.52) for i in self.data0]
            self.data1 = [(i*1.48) for i in self.data1]


class 技能18(职业主动技能):
    名称 = '地龙狩'
    所在等级 = 70
    等级上限 = 40
    基础等级 = 18
    # 基础 = 20315.33
    # 成长 = 2293.67
    # 爆炸攻击力：<data0>%
    data0 = [(i*1.0) for i in [0, 30485, 33578, 36670, 39764, 42856, 45949, 49042, 52134, 55227, 58320, 61412, 64506, 67598, 70691, 73783, 76877, 79968, 83062, 86155, 89247, 92340, 95433, 98526, 101618, 104711, 107805, 110896, 113990, 117082, 120175, 123267, 126361, 129453, 132546, 135640, 138731, 141825, 144918, 148009, 151103, 154196, 157288, 160380, 163474, 166565, 169659, 172753, 175844, 178938, 182030, 185123, 188215, 191309, 194402, 197494, 200587, 203680, 206772, 209866, 212958, 216051, 219143, 222237, 225328, 228422, 231515, 234607, 237700, 240793, 243885]]
    CD = 40.0
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    护石选项 = ['魔界', '圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.17
        elif x == 1:
            self.倍率 *= 1.25


class 技能19(职业主动技能):
    名称 = '地龙封魔杀'
    所在等级 = 75
    等级上限 = 40
    基础等级 = 16
    # 基础 = 32961.50
    # 成长 = 3721.50
    # 地面射出的魔法枪攻击力：<data0>%
    data0 = [(i*1.0) for i in [0, 15429, 16994, 18559, 20125, 21690, 23255, 24820, 26386, 27951, 29516, 31081, 32647, 34213, 35778, 37344, 38909, 40474, 42038, 43605, 45169, 46734, 48299, 49865, 51430, 52996, 54561, 56127, 57692, 59257, 60822, 62388, 63953, 65518, 67083, 68649, 70214, 71780, 73346, 74911, 76476, 78041, 79607, 81172, 82737, 84301, 85868, 87432, 88997, 90562, 92130, 93694, 95259, 96824, 98390, 99955, 101520, 103085, 104651, 106216, 107781, 109346, 110913, 112478, 114043, 115609, 117174, 118739, 120304, 121870, 123435]]
    # 爆炸攻击力：<data1>%
    data1 = [(i*1.0) for i in [0, 35158, 38725, 42293, 45858, 49425, 52993, 56560, 60125, 63693, 67260, 70826, 74393, 77960, 81528, 85094, 88661, 92227, 95794, 99361, 102929, 106495, 110061, 113629, 117196, 120761, 124329, 127896, 131464, 135030, 138596, 142164, 145730, 149297, 152865, 156430, 159997, 163565, 167132, 170697, 174265, 177832, 181398, 184965, 188532, 192100, 195666, 199233, 202800, 206366, 209933, 213501, 217067, 220633, 224201, 227768, 231333, 234901, 238468, 242036, 245602, 249168, 252736, 256302, 259869, 263436, 267003, 270569, 274137, 277704, 281269]]
    攻击次数2 = 1
    CD = 40.0
    是否有护石 = 1

    护石选项 = ['圣痕']

    def 装备护石(self, x):
        if x == 0:
            self.倍率 *= 1.33


class 技能20(职业主动技能):
    名称 = '无尽杀戮'
    所在等级 = 80
    等级上限 = 40
    基础等级 = 13
    # 原地多段攻击攻击力：<data0>%
    data0 = [(i*1.0) for i in [0, 1847, 2034, 2220, 2407, 2594, 2783, 2970, 3157, 3343, 3531, 3718, 3907, 4094, 4281, 4467, 4654, 4843, 5030, 5217, 5405, 5591, 5779, 5967, 6154, 6341, 6528, 6717, 6903, 7090, 7278, 7465, 7653, 7841, 8027, 8214, 8401, 8590, 8777, 8964, 9150, 9338, 9526, 9713, 9901, 10088, 10274, 10461, 10650, 10837, 11024, 11212, 11398, 11586, 11773, 11961, 12148, 12335, 12522, 12710, 12897, 13084, 13272, 13460, 13646, 13833, 14021, 14208, 14396, 14584, 14771]]
    攻击次数 = 7
    # 前进时多段攻击攻击力：<data1>%
    data1 = [(i*1.0) for i in [0, 3274, 3606, 3938, 4270, 4602, 4935, 5266, 5598, 5932, 6262, 6595, 6928, 7260, 7591, 7924, 8256, 8587, 8919, 9253, 9585, 9916, 10249, 10581, 10912, 11245, 11577, 11909, 12242, 12574, 12906, 13239, 13570, 13902, 14235, 14566, 14898, 15232, 15564, 15895, 16228, 16560, 16891, 17224, 17556, 17889, 18221, 18553, 18885, 19217, 19549, 19881, 20214, 20545, 20877, 21211, 21542, 21874, 22207, 22539, 22870, 23203, 23535, 23866, 24200, 24532, 24864, 25196, 25528, 25860, 26194]]
    攻击次数2 = 4
    # 爆炸攻击力：<data2>%
    data2 = [(i*1.0) for i in [0, 39096, 43062, 47028, 50995, 54961, 58925, 62892, 66858, 70825, 74791, 78758, 82724, 86691, 90657, 94624, 98590, 102557, 106522, 110487, 114454, 118420, 122387, 126353, 130320, 134286, 138253, 142219, 146184, 150151, 154117, 158083, 162049, 166016, 169982, 173949, 177915, 181881, 185847, 189813, 193780, 197746, 201713, 205679, 209644, 213611, 217577, 221544, 225509, 229476, 233442, 237409, 241375, 245341, 249308, 253274, 257241, 261206, 265173, 269138, 273104, 277071, 281037, 285004, 288970, 292937, 296903, 300870, 304836, 308800, 312767]]
    攻击次数3 = 1
    # 风车这个技能没护石的状态下 段数跟站位还有怪能不能推有小关系 旋转7-8 前进可以3-4 但打桩一般是741
    # 基础 = 42988.14
    # 成长 = 4853.86
    CD = 45.0
    是否有护石 = 1

    护石选项 = ['圣痕']  # CPhit：16+2

    def 装备护石(self, x):
        if x == 0:
            self.攻击次数 = 16
            # self.倍率 *= 1.3680134248
            self.攻击次数2 = 0
            self.data0 = [(i*1.02*1.18) for i in self.data0]
            self.攻击次数3 = 2
            self.data2 = [(i*0.58*1.18) for i in self.data2]


class 技能21(职业主动技能):
    名称 = '绝命猎杀死亡穿刺'
    所在等级 = 85
    等级上限 = 40
    基础等级 = 5
    data0 = [(i*1.0) for i in [0, 86700, 106805, 126907, 147012, 167117, 187221, 207325, 227430, 247534, 267639, 287744, 307846, 327951, 348056, 368160, 388265, 408368, 428473, 448578, 468681, 488785, 508890, 528994, 549099, 569204, 589307, 609412, 629517, 649620, 669726, 689829, 709933, 730038, 750143, 770246, 790351, 810456, 830560, 850665, 870767, 890872, 910977, 931082, 951185, 971290, 991394, 1011499, 1031604, 1051706, 1071811, 1091916, 1112020, 1132125, 1152229, 1172333, 1192438, 1212543, 1232645, 1252750, 1272855, 1292959, 1313064, 1333168, 1353272, 1373377, 1393482, 1413586, 1433689, 1453793, 1473898]]
    data1 = [(i*1.0) for i in [0, 73696, 90786, 107875, 124965, 142054, 159145, 176231, 193321, 210410, 227501, 244591, 261679, 278768, 295857, 312947, 330035, 347125, 364214, 381304, 398392, 415482, 432570, 449660, 466751, 483840, 500929, 518017, 535107, 552196, 569286, 586375, 603463, 620552, 637642, 654731, 671822, 688912, 706000, 723089, 740178, 757268, 774356, 791446, 808535, 825624, 842713, 859802, 876892, 893981, 911072, 928161, 945250, 962337, 979428, 996517, 1013607, 1030696, 1047784, 1064873, 1081963, 1099053, 1116142, 1133232, 1150321, 1167410, 1184499, 1201589, 1218677, 1235767, 1252856]]
    攻击次数2 = 1
    CD = 180


class 技能22(被动技能):
    名称 = '狩魔之魂'
    所在等级 = 95
    等级上限 = 40
    等级精通 = 30
    基础等级 = 4

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能23(职业主动技能):
    名称 = '瞬光猎杀枪'
    所在等级 = 95
    等级上限 = 40
    基础等级 = 6

    CD = 60.0

    data0 = [(i*1.0) for i in [0, 4469, 4923, 5376, 5829, 6283, 6736, 7189, 7643, 8096, 8550, 9003, 9457, 9910, 10363, 10817, 11270, 11723, 12177, 12630, 13084, 13537, 13990, 14444, 14897, 15351, 15804, 16257, 16711, 17164, 17618, 18071, 18524, 18978, 19431, 19885, 20338, 20791, 21245, 21698, 22152, 22605, 23058, 23512, 23965, 24418, 24872, 25325, 25779, 26232, 26686, 27139, 27592, 28046, 28499, 28952, 29406, 29859, 30313, 30766, 31220, 31673, 32126, 32580, 33033, 33486, 33940, 34393, 34847, 35300, 35753]]
    攻击次数 = 10

    data1 = [(i*1.0) for i in [0, 67037, 73838, 80638, 87439, 94241, 101040, 107842, 114644, 121443, 128245, 135046, 141848, 148647, 155449, 162251, 169050, 175852, 182653, 189453, 196254, 203056, 209855, 216657, 223459, 230258, 237060, 243861, 250663, 257462, 264264, 271065, 277865, 284667, 291468, 298268, 305069, 311871, 318670, 325472, 332273, 339075, 345875, 352676, 359478, 366277, 373079, 379880, 386680, 393481, 400283, 407083, 413884, 420686, 427485, 434287, 441088, 447890, 454689, 461491, 468293, 475092, 481894, 488695, 495495, 502296, 509098, 515897, 522699, 529501, 536300]]
    攻击次数2 = 1


class 技能24(职业主动技能):
    名称 = '红月·狩猎盛宴'
    所在等级 = 100
    等级上限 = 40
    等级精通 = 30
    基础等级 = 2
    关联技能 = ['无']
    CD = 290.0

    data0 = [(i*1.0) for i in [0, 28141, 34666, 41191, 47717, 54242, 60768, 67293, 73818, 80344, 86869, 93395, 99920, 106445, 112971, 119496, 126022, 132547, 139072, 145598, 152123, 158649, 165174, 171700, 178225, 184750, 191276, 197801, 204327, 210852, 217377, 223903, 230428, 236954, 243479, 250004, 256530, 263055, 269581, 276106, 282631, 289157, 295682, 302208, 308733, 315258, 321784, 328309, 334835, 341360, 347885, 354411, 360936, 367462, 373987, 380512, 387038, 393563, 400089, 406614, 413139, 419665, 426190, 432716, 439241, 445767, 452292, 458817, 465343, 471868, 478394]]
    攻击次数 = 3
    data1 = [(i*1.0) for i in [0, 337688, 415993, 494298, 572603, 650907, 729212, 807517, 885822, 964126, 1042431, 1120736, 1199041, 1277345, 1355650, 1433955, 1512260, 1590564, 1668869, 1747174, 1825479, 1903786, 1982088, 2060396, 2138701, 2217005, 2295310, 2373615, 2451920, 2530224, 2608529, 2686834, 2765139, 2843444, 2921748, 3000053, 3078358, 3156663, 3234967, 3313272, 3391577, 3469882, 3548186, 3626491, 3704796, 3783101, 3861405, 3939710, 4018015, 4096320, 4174625, 4252929, 4331234, 4409539, 4487844, 4566148, 4644453, 4722758, 4801063, 4879367, 4957672, 5035977, 5114284, 5192589, 5270894, 5349199, 5427504, 5505808, 5584113, 5662418, 5740723]]
    攻击次数2 = 1

    def 加成倍率(self, 武器类型):
        return 0.0


技能列表 = []
i = 0
while i >= 0:
    try:
        tem = eval('技能'+str(i)+'()')
        tem.基础等级计算()
        技能列表.append(tem)
        i += 1
    except:
        i = -1

技能序号 = dict()
for i in range(len(技能列表)):
    技能序号[技能列表[i].名称] = i

一觉序号 = 0
二觉序号 = 0
三觉序号 = 0
for i in 技能列表:
    if i.所在等级 == 50:
        一觉序号 = 技能序号[i.名称]
    if i.所在等级 == 85:
        二觉序号 = 技能序号[i.名称]
    if i.所在等级 == 100:
        三觉序号 = 技能序号[i.名称]

护石选项 = ['无']
for i in 技能列表:
    if i.是否有伤害 == 1 and i.是否有护石 == 1:
        护石选项.append(i.名称)

符文选项 = ['无']
for i in 技能列表:
    if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1:
        符文选项.append(i.名称)


class 职业属性(角色属性):

    实际名称 = '千魂·狩猎者'
    角色 = '魔枪士'
    职业 = '狩猎者'

    武器选项 = ['光枪']

    类型选择 = ['魔法百分比']

    类型 = '魔法百分比'
    防具类型 = '重甲'
    防具精通属性 = ['智力']

    主BUFF = 1.85

    远古记忆 = 0

    def __init__(self):
        基础属性输入(self)
        self.技能栏 = deepcopy(技能列表)
        self.技能序号 = deepcopy(技能序号)


class 千魂·狩猎者(角色窗口):
    def 窗口属性输入(self):
        self.初始属性 = 职业属性()
        self.角色属性A = 职业属性()
        self.角色属性B = 职业属性()
        self.一觉序号 = 一觉序号
        self.二觉序号 = 二觉序号
        self.三觉序号 = 三觉序号
        self.护石选项 = deepcopy(护石选项)
        self.符文选项 = deepcopy(符文选项)
